1. Field of the Invention
The present invention relates to methods and apparatus for coordinating channel access to shared communication resources, and more particularly, to techniques for allowing a group of network nodes to coordinate channel access to plural parallel data channels thereby permitting efficient and timely transmission of audio, video and data information among the nodes.
2. Description of the Related Art
Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) is a well-known protocol specified in the IEEE802.11 standard for wireless local area networks (LANs). This protocol specifies two methods for controlling access to a single channel that is shared among a group of users. One method is the point coordination function where channel access is controlled by a central point using a poll-response mechanism. The other method, CSMA/CA, involves an initial handshake of a Request-to-Send (RTS) message followed by a Clear-to-Send (CTS) message exchanged between a source node (e.g., a radio) and a destination node prior to sending an information message (e.g., a message containing audio, video or data information). The source node transmits an RTS message to the intended destination node. If the intended destination node wishes to receive the message and believes that the channel is available (i.e., free of other traffic), the destination node responds with a CTS message. The receipt of the CTS message by the source node permits the transmission of the information message (MSG) which is typically followed by an Acknowledgment (ACK) message from the destination node when reception of the information message is successful. All other nodes within range of the CTS message mark the channel as busy for the duration of the message transfer. Provided all nodes receive every CTS message, the protocol works well.
The throughput of a LAN is dependent upon the total bandwidth available. In the case of the IEEE802.11 standard, all users within a Basic Service Set (BSS) share a single resource (presently 1, 2, 5, or 11 Mbps). The protocol does define multiple frequencies but the purpose of these frequencies is to separate groups of users from one another rather than to promote the use of multiple channels for increased throughput and reduced congestion. The IEEE802.11 protocol is unable to manage the allocations of multiple data channels within a geographic area.
Because of the limited bandwidth available, systems operating under the IEEE802.11 standard have a limited ability to delivery high quality audio, video and data between many users in a small area. This problem is particularly acute with audio (e.g., voice) and video information which must be delivered within a few tens of milliseconds to avoid noticeable delays in reception. If audio and video messages are competing for the same data channel with relatively long data messages, it quickly becomes infeasible to reliably transmit audio and video messages with acceptable delays on a single shared channel.
These limitations could potentially be overcome by sharing multiple data channels among a group of users. Multiple data channels may permit the delivery of high quality audio, video and data among many users in a small area. However, allocation of multiple data channels among several users necessarily requires coordinating the use of the channels so that heavy users (e.g., users transferring large data files) do not block channel access for audio and video within the limited time allocations required for real time delivery. Further, it would be necessary for each node to assess channel availability and reliably communicate requests for access or changes in availability to other nodes without unduly encumbering the system. Accordingly, there exists a need for a system capable of effectively coordinating channel access to multiple shared parallel data channels to permit timely and efficient delivery of high quality audio, video and data information among a group of users in a network.
Therefore, in light of the above, and for other reasons that become apparent when the invention is fully described, an object of the present invention is to provide increased throughput for message traffic in a network of nodes by employing multiple parallel data channels that are shared among the nodes.
A further object of the present invention is to coordinate among a group of nodes channel access to plural parallel data channels by providing the capability in each node to continuously gather information as to the status of each communication channel and each neighboring node.
Yet a further object of the present invention is to provide enhanced collision avoidance between messages being transferred between nodes of a network over shared communication resources.
A still further object of the present invention is to minimize the impact of transmitting lower priority messages on the delivery of higher priority messages transmitted on a shared communication resource.
Another object of the present invention is to allow each node in a network to continuously monitor channel access requests transmitted between nodes to ensure that each node is aware of the status of its neighboring nodes and channel availability.
Yet another object of the present invention is to allow information messages of varying priorities to be transmitted over a shared communication resource while ensuring minimal time delay for time-sensitive, high-priority information, such as audio and video.
Still another object of the present invention is to permit broadcasting of messages to neighboring nodes of network with minimal impact on other message traffic.
It is a further object of the present invention to avoid contention between messages transmitted over a shared communication resource by controlling timing of message transmission attempts in a prioritized manner to thereby avoid transmission delays for time-sensitive messages.
It is yet a further object of the present invention to provide enhanced feedback to a network node that has unsuccessfully attempted to transmit messages to another node in order to increase the likelihood of successfully re-transmitting the message.
The aforesaid objects are achieved individually and in combination, and it is not intended that the present invention be construed as requiring two or more of the objects to be combined unless expressly required by the claims attached hereto.
In accordance with the present invention, a network of nodes communicates using plural, shared parallel data channels and a separate reservation channel. The reservation channel provides a mechanism for coordinating access to the data channels among the nodes in a manner that enhances avoidance of message traffic collisions. Access to the data channels is coordinated among the nodes by communicating message requests and corresponding replies on the separate reservation channel. Each node includes a primary modem (transceiver) and a secondary modem (which maybe only a receiver), which permits each node to continuously monitor the reservation channel, even when transmitting or receiving a message on one of the data channels. If the primary modem of a node is not engaged in a message transfer, the secondary receiver is deactivated, and the primary modem monitors the reservation channel to keep track of the status of each neighboring node and the availability of each data channel. If the primary modem becomes engaged in a message transfer, the secondary receiver is activated and monitors the reservation channel in the same manner. Use of the secondary receiver prevents the loss of reservation information that would occur if only a single receiver were used for both the channel reservations and data transfers, as is the case in conventional schemes. By transmitting requests for channel access on a separate reservation channel and dedicating one of the two receivers to monitor and respond to such requests, transmission of information messages on the multiple parallel data channels can be coordinated among the nodes, collisions between request messages and information messages are eliminated, and collisions between the short request messages transmitted on the reservation channel are dramatically reduced.
The coordinated use of multiple parallel data channels permits the delivery of high quality audio, video, and data between many users in a small area. With multiple data channels, the lengthy transfer of a large file on one channel does not block access to other channels within the limited time allocations of real time services, such as delivery of audio and video. The present invention permits many users to exchange high quality voice messages, where a voice sample must be delivered within a few tens of milliseconds, while simultaneously permitting the rapid transfer of a data file between other users.
By employing a separate reservation channel to request and confirm access to the data channels, the likelihood of collisions on both the reservation channel and the data channels is dramatically reduced. Because each node continuously monitors the reservation channel, nodes that are involved in a data transfer do not lose any information regarding parallel data transfers that started after the current event. Given this universal knowledge, nodes that return to the reservation channel are able to make a more intelligent decision regarding the channel that is chosen for successive data transfers. This advantage of the present invention is especially critical to the reliable and timely delivery of real-time traffic such as Voice over the Internet protocol on a wireless LAN.
If necessary, the secondary receiver of each node can temporarily be tuned to a data channel to receive a broadcast message while the primary modem is simultaneously engaged in a message transfer with another node. Since valid channel access requests are not generally transmitted during a broadcast message, this temporary re-tuning of the secondary modem carries virtually no penalty in terms of potential loss of channel access information.
In accordance with another aspect of the present invention, channel access requests are scheduled using a contention interval scheme that is structured to insure that high priority messages and voice traffic are handled prior to routine file transfers. The contention interval is created by timing slots of a duration in excess of the combined time to transmit an RTS and CTS. Nodes attempting to transfer voice messages choose a slot near the beginning of the contention interval, and nodes attempting to transfer data messages choose a slot near the end. The random nature of the slot selection insures extremely fast channel access and high channel efficiency at the expense of a minimal number of collisions.
The present invention also includes an enhanced feedback mechanism which provides a source node with important information as to why a particular message attempt failed, thereby enhancing the likelihood of successfully re-transmitting an information message or a channel access request. A negative clear-to-send message informs a source node of insufficient channel quality or message priority and effectively denies channel access to the source node. A negative acknowledge message informs the source node that the information message received by the destination node contains bit errors requiring a retransmission of the message.
The above and still further objects, features and advantages of the present invention will become apparent upon consideration of the following definitions, descriptions and descriptive figures of specific embodiments thereof wherein like reference numerals in the various figures are utilized to designate like components. While these descriptions go into specific details of the invention, it should be understood that variations may and do exist and would be apparent to those skilled in the art based on the descriptions herein.